/**
 * 获取用户头像URL
 * @param {string} email 用户邮箱
 * @param {number} size 头像尺寸
 * @returns {string} 头像URL
 */
export function getAvatarUrl(email, size = 100) {
  if (!email) {
    // 默认头像
    return `https://secure.gravatar.com/avatar/?s=${size}&d=mp`;
  }

  // 判断是否为QQ邮箱
  const qqMailRegex = /^[1-9][0-9]{4,}@qq\.com$/;
  if (qqMailRegex.test(email)) {
    // 提取QQ号
    const qqNumber = email.split('@')[0];
    // 使用QQ头像API
    return `https://q1.qlogo.cn/g?b=qq&nk=${qqNumber}&s=${size}`;
  }

  // 对于非QQ邮箱，使用简单的哈希方法生成一个唯一头像
  // 注意：这不是真正的MD5，但用于演示目的是足够的
  const simpleHash = (str) => {
    let hash = 0;
    for (let i = 0; i < str.length; i++) {
      hash = ((hash << 5) - hash) + str.charCodeAt(i);
      hash |= 0; // Convert to 32bit integer
    }
    return Math.abs(hash).toString(16).substring(0, 8);
  };

  // 生成头像哈希，确保长度一致
  const hash = simpleHash(email.toLowerCase().trim());
  
  // 使用随机头像服务，或者Gravatar
  // return `https://secure.gravatar.com/avatar/${hash}?s=${size}&d=mp`;
  
  // 使用固定颜色生成的简单头像，避免需要依赖外部服务
  const colors = [
    'f44336', '2196f3', '4caf50', 'ff9800', '9c27b0', 
    '3f51b5', '009688', 'ffeb3b', '795548', '607d8b'
  ];
  
  const colorIndex = parseInt(hash, 16) % colors.length;
  const backgroundColor = colors[colorIndex];
  
  // 使用Dicebear API生成头像
  return `https://api.dicebear.com/7.x/initials/svg?seed=${encodeURIComponent(email)}&backgroundColor=${backgroundColor}&size=${size}`;
} 